Conversation
OverviewRestructures the pipeline for O(100k)-image runs: per-exposure work dirs, a new Scope: 54 files, +26.5k/−306. Stripping the 23k-line r-band tile list leaves ~3400 lines of actual code change. Blocking
Bugs & risks
Code quality
Performance
TestsZero new tests. Positives worth naming
RecommendationRequest changes on the two blockers ( |
|
I fixed all of the following problems:
|
Thanks for the extensive turn-around — most of the original items are cleanly addressed (checklist below). However, commit New blockers from
|
| # | Item | Status |
|---|---|---|
| Blocking 1 | `init_run_v2.0.sh:108` syntax | ✅ restructured clean |
| Blocking 2 | `Dockerfile.jupyter` FROM | ✅ (minor note below) |
| Blocking 3 | `setuptools<81` rationale | ✅ inline comment |
| Blocking 4 | stray `#"shear_psf_leakage"` | ✅ removed |
| Bug 1 | `Vizier.SERVER` concurrency | ✅ `vizier_server=` kwarg |
| Bug 2 | tile_id overflow | see B2 above |
| Bug 3 | `dependency_handler` mutable default | ✅ textbook fix |
| Bug 4 | `SP_EXP` realpath | ✅ env-var override |
| Bug 5 | Duplicated Vizier retry | see B1 above |
| Code 1 | `command()` dead branch | ✅ |
| Code 2 | `command_sp` passthrough | ✅ |
| Code 3 | `read_ext_cat_runner` docstring | — (file deleted, see B2) |
| Code 4 | `read_ext_cat` module name | see B2 above |
| Code 5 | `init_run_v2.0.sh:61` sed | ✅ restructured away |
| Code 6 | hardcoded `CONDA_PREFIX` | ✅ |
| Perf 1 | `get_exp_output_files` glob | |
| Perf 2 | `read_ext_cat.py:232` memmap | — (file deleted, see B2) |
| Tests | zero new tests | still zero |
Non-blocking follow-ups (I'll push these too)
- `Dockerfile.jupyter:4` — `FROM ghcr.io/martinkilbinger/shapepipe-1:v2.0` is fork-specific. Before merge to `develop` this should point at `ghcr.io/cosmostat/shapepipe:...`.
- `pyproject.toml` deps still carry `treecorr` and `Stile @ git+...` (dead post-refactor: remove rho-stats from shapepipe (closes #710) #715) and `sip_tpv` (dead post-refactor: drop sip_tpv, rely on astropy for TPV WCS (closes #713) #716, merged today). Worth clearing before merge.
Merge status
GH UI shows "CONFLICTING" but `git merge-tree develop v2.0` reports only clean auto-merges — no content conflicts. A `git merge develop` should refresh the status without actual conflict work.
Commit 78c2668 deleted read_ext_cat_package/ and read_ext_cat_runner.py while renaming consumers to read_ext_sexcat_runner, but never added the renamed module. Likewise the commit moved Vizier retry logic out of create_star_cat.py and mask.py into shapepipe.utilities.vizier but that module was never created. This left the imports broken on v2.0: - mask.py:22 and create_star_cat.py:30 import shapepipe.utilities.vizier (ImportError on module load — mask is a core pipeline stage) - config_tile_Uc.ini, test_tile_det.py, and run_job_sp_canfar_v2.0.bash all reference read_ext_sexcat_runner (module-not-found at pipeline run) Changes: * shapepipe.utilities.vizier — new module exposing query_vizier(ra, dec, radius_arcmin, cat_id), consolidating the retry logic from mask.py and create_star_cat.py (server fallback, timeout escalation, random stagger, double-precision coord fix inherited from mask.py). * read_ext_sexcat_package/ + read_ext_sexcat_runner.py — restored from the deleted read_ext_cat_package with: - Renamed symbols (read_ext_sexcat, make_ldac_from_ascii, etc). - Tile-id overflow guard: the encoding tile_id = RRR*1000 + DDD silently collided for dec_idx >= 1000; extracted into _tile_id_from_file_number_string with an explicit bounds check. * pyproject.toml: dropped dead deps — treecorr and Stile (removed in CosmoStat#715), sip_tpv (removed in CosmoStat#716, merged today). These were stale holdovers on v2.0 that never got swept after the corresponding develop cleanups. * Dockerfile.jupyter: FROM points at ghcr.io/cosmostat/shapepipe:v2.0 instead of the martinkilbinger fork tag, so upstream builds work. Addresses the two new blockers flagged in PR CosmoStat#706 re-review: CosmoStat#706 (comment) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Pushed the fix as commit
All four files compile and the tile_id bounds check has been smoke-tested against Ready for your final review / merge. |
Summary
Reviewer Checklist
developbranch